# 2025.07.09力扣网刷题
# 解码字母到整数映射——字符串——简单
# 给你一个字符串 s，它由数字（'0' - '9'）和 '#' 组成。我们希望按下述规则将 s 映射为一些小写英文字符：
# 字符（'a' - 'i'）分别用（'1' - '9'）表示。
# 字符（'j' - 'z'）分别用（'10#' - '26#'）表示。
# 返回映射之后形成的新字符串。
# 题目数据保证映射始终唯一。
# 示例 1：
# 输入：s = "10#11#12"
# 输出："jkab"
# 解释："j" -> "10#", "k" -> "11#", "a" -> "1", "b" -> "2".
# 示例 2：
# 输入：s = "1326#"
# 输出："acz"
# 提示：
# 1 <= s.length <= 1000
# s[i] 只包含数字（'0' - '9'）和 '#' 字符。
# s 是映射始终存在的有效字符串。

class Solution(object):
    def freqAlphabets(self, s):
        """
        :type s: str
        :rtype: str
        """
        res = ''
        length = len(s)
        i = 0
        while i < length:
            if i + 2 < length and s[i + 2] == '#':
                res += chr(int(s[i:i + 2]) + 96)
                i += 3
            else:
                res += chr(int(s[i]) + 96)
                i += 1
        return res

if __name__ == '__main__':
    s = Solution()
    print(s.freqAlphabets("10#11#12"))
